import os
import sys
import django
from datetime import date

# 设置Django环境
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'camera_encyclopedia.settings')
django.setup()

from encyclopedia.models import CameraCategory, CameraEntry, AccessoryCategory, CameraAccessory

def create_enhanced_data():
    print("开始创建增强版数据...")
    
    # 创建或更新相机分类
    print("\n[1] 处理相机分类...")
    camera_categories = [
        {"name": "单反相机", "description": "单镜头反光式取景相机，具有光学取景器和可更换镜头"},
        {"name": "无反相机", "description": "无反光镜可换镜头相机，更轻便且电子取景"},
        {"name": "便携相机", "description": "小巧便携的消费级相机"},
        {"name": "运动相机", "description": "适合极限运动拍摄的小型相机"},
        {"name": "专业相机", "description": "高规格专业级相机设备"},
    ]
    
    created_categories = {}
    for cat_data in camera_categories:
        category, created = CameraCategory.objects.get_or_create(
            name=cat_data["name"],
            defaults={"description": cat_data["description"]}
        )
        created_categories[cat_data["name"]] = category
        if created:
            print(f"创建相机分类: {cat_data['name']}")
        else:
            print(f"相机分类已存在: {cat_data['name']}")
    
    # 创建增强版相机数据
    print("\n[2] 创建增强版相机数据...")
    camera_entries = [
        # 现有相机 - 添加发布日期
        {
            "title": "佳能 EOS R5",
            "content": "佳能EOS R5是一款全画幅无反相机，配备4500万像素传感器，支持8K视频录制，具有出色的自动对焦系统和图像稳定功能。这款相机在摄影和视频拍摄方面都表现出色，适合专业摄影师和高级爱好者使用。",
            "brand": "佳能",
            "category": "无反相机",
            "sensor_type": "全画幅CMOS",
            "image_resolution": "4500万像素",
            "release_date": date(2020, 7, 9)
        },
        {"title": "索尼 A7R IV",
            "content": "索尼A7R IV是一款高分辨率全画幅无反相机，拥有6100万像素背照式传感器，支持567个相位检测对焦点，覆盖范围广。其高速连拍能力达到10张/秒，还具备出色的低光性能和动态范围。",
            "brand": "索尼",
            "category": "无反相机",
            "sensor_type": "全画幅背照式CMOS",
            "image_resolution": "6100万像素",
            "release_date": date(2019, 7, 16)
        },
        {
            "title": "尼康 D850",
            "content": "尼康D850是一款高端全画幅单反相机，搭载4575万像素背照式传感器，没有低通滤镜，提供极高的图像细节。相机具备153点自动对焦系统，9张/秒的连拍速度，以及优秀的视频功能，是专业摄影师的理想选择。",
            "brand": "尼康",
            "category": "单反相机",
            "sensor_type": "全画幅背照式CMOS",
            "image_resolution": "4575万像素",
            "release_date": date(2017, 8, 24)
        },
        # 新增相机 - 单反相机
        {
            "title": "佳能 EOS 5D Mark IV",
            "content": "佳能EOS 5D Mark IV是一款专业全画幅单反相机，搭载3040万像素CMOS传感器，DIGIC 6+图像处理器，61点自动对焦系统，支持4K视频录制。这款相机在风光、人像、婚礼等领域有着广泛的应用，是专业摄影师的可靠选择。",
            "brand": "佳能",
            "category": "单反相机",
            "sensor_type": "全画幅CMOS",
            "image_resolution": "3040万像素",
            "release_date": date(2016, 8, 25)
        },
        {
            "title": "尼康 D780",
            "content": "尼康D780是一款中高端全画幅单反相机，结合了D750的优秀性能和Z系列的创新功能。搭载2450万像素背照式传感器，EXPEED 6处理器，支持273点自动对焦系统，以及实时取景下的眼部对焦功能，是一台多功能的专业相机。",
            "brand": "尼康",
            "category": "单反相机",
            "sensor_type": "全画幅背照式CMOS",
            "image_resolution": "2450万像素",
            "release_date": date(2020, 1, 7)
        },
        # 新增相机 - 无反相机
        {
            "title": "富士 X-T4",
            "content": "富士X-T4是一款APS-C画幅无反相机，搭载2610万像素X-Trans CMOS 4传感器，X-Processor 4处理器，内置5轴防抖系统，支持高达15张/秒的机械快门连拍和30张/秒的电子快门连拍。复古外观设计搭配现代性能，深受摄影爱好者喜爱。",
            "brand": "富士",
            "category": "无反相机",
            "sensor_type": "APS-C X-Trans CMOS 4",
            "image_resolution": "2610万像素",
            "release_date": date(2020, 2, 26)
        },
        {
            "title": "松下 Lumix S5",
            "content": "松下Lumix S5是一款全画幅无反相机，采用2420万像素全画幅CMOS传感器，Venus Engine处理器，支持双原生ISO技术，4K 60p视频录制，以及5轴机身防抖系统。紧凑的机身设计搭配专业级性能，适合各类摄影和视频创作。",
            "brand": "松下",
            "category": "无反相机",
            "sensor_type": "全画幅CMOS",
            "image_resolution": "2420万像素",
            "release_date": date(2020, 9, 2),
        },
        # 新增相机 - 便携相机
        {
            "title": "索尼 RX100 VII",
            "content": "索尼RX100 VII是黑卡系列旗舰产品，搭载2010万像素1英寸Exmor RS CMOS堆栈式传感器，BIONZ X图像处理器，24-200mm F2.8-F4.5蔡司镜头，357点相位检测自动对焦系统，支持高达20张/秒的连拍速度。小巧的机身蕴含强大性能，是旅行和日常记录的理想选择。",
            "brand": "索尼",
            "category": "便携相机",
            "sensor_type": "1英寸Exmor RS CMOS堆栈式",
            "image_resolution": "2010万像素",
            "release_date": date(2019, 7, 25)
        },
        {
            "title": "佳能 G7 X Mark III",
            "content": "佳能PowerShot G7 X Mark III是一款高性能便携相机，搭载2010万像素1英寸CMOS传感器，DIGIC 8图像处理器，24-100mm F1.8-F2.8镜头，支持4K视频录制和垂直视频模式。翻转触摸屏设计适合自拍和vlog创作，是内容创作者的热门选择。",
            "brand": "佳能",
            "category": "便携相机",
            "sensor_type": "1英寸CMOS",
            "image_resolution": "2010万像素",
            "release_date": date(2019, 2, 21)
        },
        # 新增相机 - 运动相机
        {
            "title": "GoPro Hero 11 Black",
            "content": "GoPro Hero 11 Black是一款旗舰级运动相机，搭载2700万像素传感器，支持5.3K 60fps视频录制，HyperSmooth 5.0防抖技术，可拍摄8:7宽高比的视频，提供更大的裁剪灵活性。防水深度可达10米，适合各种极限运动和水下拍摄场景。",
            "brand": "GoPro",
            "category": "运动相机",
            "sensor_type": "1/1.9英寸CMOS",
            "image_resolution": "2700万像素",
            "release_date": date(2022, 9, 14)
        },
        {
            "title": "DJI Action 3",
            "content": "DJI Action 3是大疆推出的高性能运动相机，采用1/1.7英寸CMOS传感器，支持4K 120fps视频录制，RockSteady 3.0防抖技术，前后双屏设计方便取景。可耐低温-20°C，防水深度16米，搭配丰富的配件系统，适合各种户外极限运动拍摄。",
            "brand": "DJI",
            "category": "运动相机",
            "sensor_type": "1/1.7英寸CMOS",
            "image_resolution": "1200万像素",
            "release_date": date(2022, 10, 26)
        },
        # 新增相机 - 专业相机
        {
            "title": "哈苏 X2D 100C",
            "content": "哈苏X2D 100C是一款中画幅无反相机，搭载1亿像素中画幅CMOS传感器，无低通滤镜，内置机身防抖系统，支持8K 30fps视频录制。采用自然色彩解决方案(NCS)，提供极致的色彩还原和细节表现，是专业商业摄影和艺术创作的顶级设备。",
            "brand": "哈苏",
            "category": "专业相机",
            "sensor_type": "中画幅CMOS",
            "image_resolution": "1亿像素",
            "release_date": date(2022, 9, 7)
        },
        {
            "title": "飞思 IQ4 150MP",
            "content": "飞思IQ4 150MP是一款专业数码后背，搭载1.5亿像素中画幅CCD传感器，像素尺寸6.5μm，动态范围高达15级，支持16位色彩深度。采用True Focus技术提供精确对焦，是商业摄影、广告和高端风光摄影的终极工具，能够捕捉极致的细节和色彩。",
            "brand": "飞思",
            "category": "专业相机",
            "sensor_type": "中画幅CCD",
            "image_resolution": "1.5亿像素",
            "release_date": date(2018, 5, 23)
        }
    ]
    
    # 存储创建的相机对象，用于后续配件关联
    created_cameras = {}
    for camera_data in camera_entries:
        # 获取分类对象
        camera_data["category"] = created_categories[camera_data["category"]]
        
        # 创建或更新相机
        camera, created = CameraEntry.objects.update_or_create(
            title=camera_data["title"],
            defaults=camera_data
        )
        created_cameras[camera_data["title"]] = camera
        if created:
            print(f"创建相机: {camera_data['title']}")
        else:
            print(f"更新相机: {camera_data['title']}")
    
    # 创建或更新配件分类
    print("\n[3] 处理配件分类...")
    accessory_categories = [
        {"name": "镜头", "description": "各类相机镜头，包括定焦、变焦、长焦等"},
        {"name": "三脚架", "description": "摄影支撑设备，提供稳定拍摄"},
        {"name": "相机包", "description": "保护和携带相机设备的专业包具"},
        {"name": "滤镜", "description": "各种滤镜，如UV镜、偏振镜、减光镜等"},
        {"name": "闪光灯", "description": "补光设备，提升低光环境拍摄效果"},
        {"name": "存储设备", "description": "存储卡、移动硬盘等存储解决方案"},
        {"name": "电池充电器", "description": "相机电池和充电器配件"},
        {"name": "相机配件", "description": "其他相机相关配件，如遥控器、手柄等"}
    ]
    
    created_accessory_categories = {}
    for cat_data in accessory_categories:
        category, created = AccessoryCategory.objects.get_or_create(
            name=cat_data["name"],
            defaults={"description": cat_data["description"]}
        )
        created_accessory_categories[cat_data["name"]] = category
        if created:
            print(f"创建配件分类: {cat_data['name']}")
        else:
            print(f"配件分类已存在: {cat_data['name']}")
    
    # 创建增强版配件数据
    print("\n[4] 创建增强版配件数据...")
    accessories_data = [
        # 现有配件
        {
            "title": "佳能 RF 24-70mm F2.8 L IS USM",
            "brand": "佳能",
            "category": "镜头",
            "price_range": "¥14,500 - ¥16,800",
            "content": "佳能RF系列顶级标准变焦镜头，恒定F2.8大光圈，内置图像稳定系统，覆盖常用焦距范围，适合人像、风景等多种摄影场景。采用创新的光学设计，提供出色的成像质量和自动对焦性能。",
            "compatible_cameras": ["佳能 EOS R5"]
        },
        {
            "title": "曼富图 Befree Advanced",
            "brand": "曼富图",
            "category": "三脚架",
            "price_range": "¥2,100 - ¥2,600",
            "content": "便携式碳纤维三脚架，重量轻、稳定性强，折叠后体积小，便于携带。配备快速锁系统，调节方便，适合旅行摄影和户外拍摄。最大承重可达8kg，兼容大多数单反和无反相机系统。",
            "compatible_cameras": ["佳能 EOS R5", "索尼 A7R IV", "尼康 D850"]
        },
        {
            "title": "国家地理 NG W2300 摄影包",
            "brand": "国家地理",
            "category": "相机包",
            "price_range": "¥1,800 - ¥2,300",
            "content": "专业单反相机包，采用环保材料制作，具有良好的防水性能和防震保护。内部隔板可自由调节，能容纳一台单反相机、2-3个镜头和配件。人性化设计的背负系统，减轻长时间携带的疲劳。",
            "compatible_cameras": ["佳能 EOS R5", "索尼 A7R IV", "尼康 D850"]
        },
        {
            "title": "B+W UV镜 77mm",
            "brand": "B+W",
            "category": "滤镜",
            "price_range": "¥450 - ¥600",
            "content": "德国制造的优质UV滤镜，提供有效的紫外线防护，同时保护镜头前组镜片免受灰尘、刮擦和指纹的损伤。采用多层镀膜技术，减少反光，保持高透光率，不影响成像质量。",
            "compatible_cameras": ["佳能 EOS R5", "索尼 A7R IV", "尼康 D850"]
        },
        {
            "title": "神牛 V1 圆头闪光灯",
            "brand": "神牛",
            "category": "闪光灯",
            "price_range": "¥1,800 - ¥2,200",
            "content": "专业级圆形闪光灯，提供柔和自然的光线效果。内置锂电池，支持高速同步和TTL功能。搭配多种附件使用，如柔光罩、色片等，满足不同场景的补光需求。适用于人像、产品等摄影领域。",
            "compatible_cameras": ["佳能 EOS R5", "索尼 A7R IV", "尼康 D850"]
        },
        # 新增配件 - 镜头
        {
            "title": "索尼 FE 70-200mm F2.8 GM OSS II",
            "brand": "索尼",
            "category": "镜头",
            "price_range": "¥17,999 - ¥19,999",
            "content": "索尼G大师系列第二代70-200mm长焦镜头，采用先进的光学设计，包含4枚XD线性马达提供快速精准对焦，重量仅1045g，比前代轻约29%。内置光学防抖系统，9枚圆形光圈叶片，适合人像、体育和野生动物摄影。",
            "compatible_cameras": ["索尼 A7R IV"]
        },
        {
            "title": "尼康 AF-S 尼克尔 24-70mm f/2.8E ED VR",
            "brand": "尼康",
            "category": "镜头",
            "price_range": "¥13,500 - ¥15,500",
            "content": "尼康金圈标准变焦镜头，配备纳米结晶涂层和氟涂层，减少鬼影和眩光。内置防抖系统，提供约4.5档的补偿效果。采用宁静波动马达(SWM)，对焦安静迅速，适合专业婚礼、人像和风光摄影。",
            "compatible_cameras": ["尼康 D850", "尼康 D780"]
        },
        # 新增配件 - 三脚架
        {
            "title": "捷信 Gitzo GT3542LS碳纤维三脚架",
            "brand": "捷信",
            "category": "三脚架",
            "price_range": "¥8,500 - ¥9,800",
            "content": "专业级碳纤维三脚架，采用6X碳纤维管材，强度高重量轻。4节设计，最大工作高度171cm，最低高度10cm。配有G-lock快速锁紧系统，操作便捷。最大承重25kg，适合专业摄影和视频拍摄。",
            "compatible_cameras": ["佳能 EOS R5", "索尼 A7R IV", "哈苏 X2D 100C"]
        },
        # 新增配件 - 存储设备
        {
            "title": "索尼 SF-G Tough系列 256GB SD卡",
            "brand": "索尼",
            "category": "存储设备",
            "price_range": "¥1,200 - ¥1,500",
            "content": "高性能SD存储卡，读取速度高达300MB/s，写入速度高达299MB/s。采用Tough规格设计，具备防水、防尘、防X光、防磁和耐低温特性。适合4K视频录制和高速连拍，是专业摄影和内容创作的可靠存储解决方案。",
            "compatible_cameras": ["佳能 EOS R5", "索尼 A7R IV", "尼康 D850"]
        },
        {
            "title": "雷克沙 Professional CFexpress Type B 128GB",
            "brand": "雷克沙",
            "category": "存储设备",
            "price_range": "¥1,500 - ¥1,800",
            "content": "高端CFexpress存储卡，读取速度高达1750MB/s，写入速度高达1000MB/s。支持VPG400视频性能保证，适合8K视频录制和专业摄影工作流。采用高品质闪存颗粒，提供五年质保，是专业摄影师的理想选择。",
            "compatible_cameras": ["佳能 EOS R5", "尼康 D850"]
        },
        # 新增配件 - 电池充电器
        {
            "title": "佳能 LP-E6NH 原装电池",
            "brand": "佳能",
            "category": "电池充电器",
            "price_range": "¥750 - ¥900",
            "content": "佳能EOS R5/R6系列专用高容量锂电池，容量2130mAh，比标准LP-E6N电池高约14%。支持快速充电，具有出色的续航能力，适合长时间拍摄和视频录制。原厂品质保证，兼容性和安全性更佳。",
            "compatible_cameras": ["佳能 EOS R5", "佳能 EOS 5D Mark IV"]
        },
        {
            "title": "尼康 EN-EL15c 原装电池",
            "brand": "尼康",
            "category": "电池充电器",
            "price_range": "¥650 - ¥800",
            "content": "尼康全画幅单反和无反相机专用锂电池，支持USB充电。容量2280mAh，提供稳定可靠的电力供应。适用于尼康D850、D780等机型，配合原厂充电器使用效果最佳，确保相机的稳定运行和安全。",
            "compatible_cameras": ["尼康 D850", "尼康 D780"]
        },
        # 新增配件 - 相机配件
        {
            "title": "DJI RS 3 云台稳定器",
            "brand": "DJI",
            "category": "相机配件",
            "price_range": "¥4,299 - ¥4,999",
            "content": "专业相机云台稳定器，最大承重3kg，支持主流单反和无反相机。采用RS 2的核心技术，配备1.8英寸触控屏，自动轴锁设计，快速调平。支持一键横竖拍切换，智能跟随模式，是视频创作者的理想工具。",
            "compatible_cameras": ["佳能 EOS R5", "索尼 A7R IV", "松下 Lumix S5"]
        },
        {
            "title": "富图宝 HG-02 手持稳定器",
            "brand": "富图宝",
            "category": "相机配件",
            "price_range": "¥350 - ¥450",
            "content": "轻量级手持稳定器，采用碳纤维材质，重量仅290g。内置可调砝码系统，有效减少相机抖动，提供稳定的拍摄体验。底部配备1/4英寸螺口，可连接三脚架或独脚架。适合旅行、vlog和手持拍摄场景。",
            "compatible_cameras": ["佳能 EOS R5", "索尼 A7R IV", "索尼 RX100 VII"]
        },
        # 新增配件 - 运动相机配件
        {
            "title": "GoPro 媒体模块",
            "brand": "GoPro",
            "category": "相机配件",
            "price_range": "¥998 - ¥1,298",
            "content": "GoPro Hero 11/10/9专用媒体模块，提供HDMI输出、3.5mm麦克风接口和内置冷靴。支持外接专业麦克风和显示器，提升音频质量和拍摄监控能力。采用模块化设计，安装简便，适合专业内容创作和直播场景。",
            "compatible_cameras": ["GoPro Hero 11 Black"]
        },
        {
            "title": "DJI Action 3 全能套装",
            "brand": "DJI",
            "category": "相机配件",
            "price_range": "¥1,999 - ¥2,499",
            "content": "DJI Action 3专用配件套装，包含防水壳、延长杆、头带、胸带、浮力棒等多种配件。防水壳支持水下60米拍摄，延长杆可调节长度，多种固定方式满足不同场景需求。是户外运动、水上活动和极限运动拍摄的完整解决方案。",
            "compatible_cameras": ["DJI Action 3"]
        }
    ]
    
    for acc_data in accessories_data:
        # 获取分类对象
        acc_data["category"] = created_accessory_categories[acc_data["category"]]
        
        # 准备兼容相机对象列表
        compatible_cameras = []
        for camera_title in acc_data.pop("compatible_cameras"):
            if camera_title in created_cameras:
                compatible_cameras.append(created_cameras[camera_title])
        
        # 创建或更新配件
        accessory, created = CameraAccessory.objects.update_or_create(
            title=acc_data["title"],
            defaults=acc_data
        )
        
        # 设置兼容相机关系
        if compatible_cameras:
            accessory.compatible_cameras.set(compatible_cameras)
            if created:
                print(f"创建配件: {accessory.title} - 已关联{len(compatible_cameras)}台相机")
            else:
                print(f"更新配件: {accessory.title} - 已关联{len(compatible_cameras)}台相机")
        else:
            if created:
                print(f"创建配件: {accessory.title} - 无关联相机")
            else:
                print(f"更新配件: {accessory.title} - 无关联相机")
    
    print("\n[5] 数据统计")
    print(f"相机分类总数: {CameraCategory.objects.count()}")
    print(f"相机条目总数: {CameraEntry.objects.count()}")
    print(f"配件分类总数: {AccessoryCategory.objects.count()}")
    print(f"配件条目总数: {CameraAccessory.objects.count()}")
    
    # 按分类统计相机数量
    print("\n[6] 相机分类统计:")
    for category in CameraCategory.objects.all():
        count = CameraEntry.objects.filter(category=category).count()
        print(f"- {category.name}: {count} 台相机")
    
    # 按分类统计配件数量
    print("\n[7] 配件分类统计:")
    for category in AccessoryCategory.objects.all():
        count = CameraAccessory.objects.filter(category=category).count()
        print(f"- {category.name}: {count} 个配件")
    
    print("\n增强版数据创建完成！")
    print("您可以通过以下链接访问：")
    print("- 相机百科首页: http://127.0.0.1:8000/")
    print("- 相机列表: http://127.0.0.1:8000/")
    print("- 配件列表: http://127.0.0.1:8000/accessories/")
    print("- 相机分类: http://127.0.0.1:8000/categories/")
    print("- 配件分类: http://127.0.0.1:8000/accessory-categories/")
    print("- 管理后台: http://127.0.0.1:8000/admin/")

if __name__ == "__main__":
    create_enhanced_data()